package com.wanxi.education.service;

import com.github.pagehelper.PageInfo;
import com.wanxi.education.model.vo.catalogue.*;
import com.wanxi.education.model.vo.course.*;

import java.math.BigDecimal;
import java.util.List;

/**
 * @Author: WangRui
 * @Description:
 * @Date: Created in 2021/9/24 0024
 * @Version: 1.0
 */
public interface CourseService {
    void add(CourseAddVo courseAddVo,Long adminId);

    boolean addRecommend(Long id);

    void addCatalogueById(CatalogueChildInfoAddVo catalogueChildInfoAddVo);

    void updateStatusById(CourseStatusVo courseStatusVo);

    void updateBasicById(CourseBasicVo courseBasicVo);

    void updateInfoById(CourseInfoVo courseInfoVo);

    void updateCatalogueById(CatalogueUpdateVo catalogueUpdateVo);

    PageInfo<CourseVo> findPage(CoursePageVo coursePageVo);

    void deleteById(Long id);

    void deleteCatalogueById(Long id);

    CatalogueInfoVo findCatalogueById(Long id);

    List<CatalogueAllVo> findCatalogueAllById(Long id);

    CourseInfoVo findCourseInfoById(Long id);

    CourseBasicVo findCourseBasicById(Long id);

    List<CourseRecommendVo> findRecommends();

    boolean updateCatalogueOrderById(CatalogueOrderVo catalogueOrderVo);

    boolean updateRecommendOrderById(CourseOrderVo courseOrderVo);

    void deleteRecommend(Long id);

    Integer findCourseCountById(Long id);

    BigDecimal findCoursePriceById(Long id);

    //课程销量查询
    Integer findCourseSaleById(Long id);
}
